
#pragma once

#include "ITask.h"
#include "LuaEng.h"

#include "EventSystem.h"
#include "Tangible.h"

#include <string>


//! Task which reactives a weapon, for example, after shooting.
//!
class TaskReactivateWeapon : public ITask
{

	Tangible::Ptr mTang;

public:

	//! Constructs a TaskReactivateWeapon
	//!
	//! @param tang Tangible object whose weapon to reactivate.
	TaskReactivateWeapon(Tangible::Ptr tang)
		: mTang(tang)
	{
	}

	//! When the event is launched.
	//!
	virtual bool Execute()
	{
		mTang->ReadyToShoot(true);
		return true;
	}

};